package com.quanyan.club.service;

import com.quanyan.club.entity.db.*;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.common.vo.resp.RespCity;
import com.quanyan.common.vo.resp.RespDistrict;
import com.quanyan.user.response.RespUserInfoBase;
import com.quanyan.user.response.RespUserInfoDetail;

import java.util.List;

/**
 * Created by zhuo.shi on 2016/5/30.
 * 获取俱乐部相关数据字典表数据
 */
public interface BaseService {

    Integer getCityIdByName(String cityName);

    RespCity getCity(Integer cityId);

    PageObj<List<RespCity>> getCityList(Integer provinceId, String keyWords, Integer pageNo, Integer pageSize);

    RespDistrict getDistrict(Integer districtId);

    PageObj<List<RespDistrict>> getDistrictList(Integer cityId, String keyWords, Integer pageNo, Integer pageSize);

    /**
     * 获取某个俱乐部类别
     * @param clubTypeId
     * @return
     */
    TbClubType getClubType(Integer clubTypeId);

    /**
     * 获取俱乐部类别列表
     * @return
     */
    List<TbClubType> getClubTypeList();

    /**
     * 获取某个俱乐部属性
     * @param clubPropertyId
     * @return
     */
    TbClubProperty getClubProperty(Integer clubPropertyId);

    /**
     * 获取俱乐部属性列表
     * @param propertyLevel 属性级别：暂分为1，2两级
     * @return
     */
    List<TbClubProperty> getClubProperties(Integer parentId, Integer propertyLevel);

    /**
     * 获取用户基本信息
     * @param uid   用户ID
     * @return
     */
    RespUserInfoBase getUserInfoBase(Integer uid);

    /**
     * 获取俱乐部成员信息
     * @param uid
     * @param clubId
     * @return
     */
    TbClubMember getClubMember(int uid,int clubId);

    /**
     * 获取城市列表
     * @param provinceId
     * @return
     */
    List<TbCity> getCityList(int isLast,int provinceId);

    /**
     * 获取地区列表
     * @param cityId
     * @return
     */
    List<TbDistrict> getDistrictList(int cityId);

    /**
     * 获取俱乐部信息
     * @param clubId
     * @return
     */
    TbClub getClub(int clubId);

    TbClubType getClubTypeByCategoryId(int categoryId);

    /**
     * 获取用户详细信息
     * @param uid
     * @return
     */
    RespUserInfoDetail getUserDetailInfo(int uid);


    boolean isRealNameAuthClub(int clubId);
}
